home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / stoktrak.arc / STOKTRAK.BAS (.txt) next >
Encoding:
GW-BASIC  |  1985-04-03  |  22.4 KB  |  529 lines

  1. 10  CLEAR,,1200:COLOR 7,0,0
  2. 20  DIM TIK$(100):DIM NAM$(100):DIM BUY(100) :DIM CURPR(100) : DIM SALESH(100) :DIM EPS(100): DIM NUMSH(100):DIM BVSH(100):DIM TEMPCURPR(100)
  3. 30  DIM O1(100) :DIM O2(100) : DIM O3(100) :DIM O4(100)
  4. 40  DIM W1(100):DIM W2(100):DIM W3(100):DIM W4(100):DIM W5(100):DIM PEAVG(100)
  5. 50  DIM W6(100):DIM W7(100):DIM W8(100):DIM W9(100):DIM WA(100):DIM MOVAVG(100)
  6. 60  DIM V1(100):DIM V2(100):DIM V3(100):DIM V4(100):DIM TEMPCURVOL(100):DIM CURVOL(100):DIM VOLAVG(100):DIM PERATIO(100)
  7. 70  DIM TIMELY(100):DIM SAFE(100):DIM YEARHI(100):DIM YEARLO(100)
  8. 80  DIM COUNT1(100):DIM BUYCOM(100):DIM SELCOM(100):DIM BRKEVEN(100):DIM DIVSH(100):DIM TOTCOM(100):DIM PCTCHG(100)
  9. 90  CLOSE:KEY OFF:CLS:COLOR 7,0
  10. 100  LOCATE 3,61:PRINT"tm":LOCATE 4,16:PRINT STRING$(15,205)" H o m e  M a d e "STRING$(15,205)
  11. 110  LOCATE 7,29:PRINT"User Produced Software":PRINT TAB(29) STRING$(22,196):PRINT
  12. 120  LOCATE 9,32:COLOR 0,5:PRINT"<UNK! {FEFE}> StockTrack <UNK! {FEFE}>":COLOR 7,0
  13. 130  LOCATE 13,31:PRINT"901 West Pine #17B"
  14. 140  LOCATE 14,29:PRINT"Hattiesburg, MS  39401"
  15. 150  LOCATE 17,13:PRINT"If you use and value StockTrack a nominal contribution"
  16. 160  LOCATE 18,18:PRINT"($35 is suggested) would be much appreciated."
  17. 170  LOCATE 20,8:PRINT STRING$(64,205):LOCATE 21,33:PRINT"Copyright (c) 1984 Frederick Barthelme
  18. 180  LOCATE 20,35:PRINT" Rev: 3.0 "
  19. 190  '====== SET DATE & TIME
  20. 200  IF RIGHT$(DATE$,2)="84" THEN 300
  21. 210  LOCATE 25,61:PRINT DATE$;" ";TIME$
  22. 220  LOCATE 25,61:PRINT "  ":LOCATE 25,61:INPUT "",X$
  23. 230  IF X$ = "" THEN 300
  24. 240  LOCATE 25,64:PRINT "  ":LOCATE 25,64:INPUT "",Y$
  25. 250  DATE$ = X$+"-"+Y$+"-84"
  26. 260  LOCATE 25,72:PRINT "  ":LOCATE 25,72:INPUT "",Z$
  27. 270  IF Z$ = "" THEN 300
  28. 280  LOCATE 25,75:PRINT "  ":LOCATE 25,75:INPUT "",W$
  29. 290  TIME$ = Z$+":"+W$
  30. 300  '====== MAIN MENU
  31. 310  LOCATE 25,1:PRINT "Load Save Return Modem ChgDate Basic Quit                   ";DATE$;" ";TIME$
  32. 320  X$ = INKEY$
  33. 330  IF X$ = "" THEN 310
  34. 340  IF X$ <> "q" AND X$ <> "Q" THEN 380
  35. 350  IF X$ = "q" OR X$ = "Q" THEN LOCATE 25,45:PRINT "Are you sure?":Q$=INKEY$
  36. 360  IF Q$ = "" THEN 350
  37. 370  IF Q$ = "y" OR Q$ = "Y" THEN SYSTEM
  38. 380  IF X$= "l" OR X$ = "L" THEN GOSUB 460
  39. 390  IF X$ ="s" OR X$ = "S" THEN GOSUB 1050
  40. 400  IF X$= "r" OR X$ = "R" THEN 490
  41. 410  IF X$= "c" OR X$ = "C" THEN GOSUB 220
  42. 420  IF X$= "B" OR X$ = "b" THEN CLS:GOSUB 3460:KEY ON:END
  43. 430  IF X$= "m" OR X$ = "M" THEN CLOSE:SYSTEM
  44. 440  GOTO 310
  45. 450  IF TC = 0 THEN 600
  46. 460  '======= MAIN DISPLAY
  47. 470  KEY OFF:COLOR 7,0
  48. 480  GOTO 770
  49. 490  CLS:LOCATE 1,1:PRINT "Tick  T  Buy   Cur   Chg    V00 PSR  PE P/BV EYld DYld %Ch Com  Brk= %Por   Net "
  50. 500  '
  51. 510  FOR I = 1 TO M:PO = I+2:TA=0:TB=0
  52. 520  K = COUNT1(I)
  53. 530  GOSUB 2340:NEXT I
  54. 540  IF TC = 0 THEN 600
  55. 550  FOR I = 1 TO M:K = COUNT1(I):LOCATE I+2,69:PRINT USING " ###";((CURPR(K)*NUMSH(K))/TT)*100:NEXT I:M = 0
  56. 560  PRINT:PRINT USING "    Cost: #####.##";TC:PRINT USING " Cur Val: #####.##";TT;:LOCATE ,40:PRINT "Portfolio: ";RK$;"  ";DT$
  57. 570  PRINT USING " Stk Chg:  ####.##";TT-TC:PRINT USING "Cmsn I/O: #####.##";MC:PRINT USING " Net Val: #####.##";TT-MC:PRINT USING " Net Chg: #####.##";TT-(MC+TC)
  58. 580  PC = (((TT-MC)/TC)*100)-100
  59. 590  PRINT USING " Pct Chg: #####.##";PC;:PRINT"%"
  60. 600  TT=0:TC=0:MC=0
  61. 610  GOSUB 4240:LOCATE 25,1:PRINT "Add Chg LPrint Week Individual NewDat XtraStoks Port Select Mkt Files Quit "
  62. 620  X$=INKEY$
  63. 630  IF X$="" THEN 620
  64. 640  IF X$ = "f" OR X$ = "F" THEN CLS:FILES:GOTO 610
  65. 650  IF X$ = "p" OR X$ = "P" THEN 2270
  66. 660  IF X$ = "m" OR X$ = "M" THEN GOSUB 4080
  67. 670  IF X$ = "l" OR X$ = "L" THEN GOSUB 3510
  68. 680  IF X$ = "a" OR X$="A" THEN I=NU+1:NU=NU+1:CLS:GOTO 3250
  69. 690  IF X$ = "c" OR X$ = "C" THEN GOSUB 2930
  70. 700  IF X$ = "w" OR X$ = "W" THEN 1220
  71. 710  IF X$ = "n" OR X$ = "N" THEN 940
  72. 720  IF X$ ="s" OR X$ = "S" THEN 2130
  73. 730  IF X$ ="q" OR X$ = "Q" THEN 90
  74. 740  IF X$ ="i" OR X$ = "I" THEN 1270
  75. 750  IF X$ ="x" OR X$ = "X" THEN 5110
  76. 760  GOTO 610
  77. 770  '====== I/O OPERATIONS
  78. 780  GOSUB 4240:PRINT "Portfolio NewPort Files Quit "
  79. 790  RN$=INKEY$:IF RN$ = "" THEN 790
  80. 800  IF RN$ = "p" OR RN$="P" THEN RK$ = "STOKTRAK":GOTO 860
  81. 810  IF RN$="q" OR RN$ = "Q" THEN RETURN
  82. 820  IF RN$ = "f" OR RN$="F" THEN CLS:FILES:GOTO 780
  83. 830  IF RN$ = "n" OR RN$="N" THEN GOSUB 4240:INPUT "New portfolio name.  RTN aborts: ",RN$: IF RN$ <> "" THEN 850
  84. 840  GOTO 780
  85. 850  RK$ = RN$
  86. 860  OPEN RK$+".NUM" FOR INPUT AS #2:INPUT #2,NU,DT$:CLOSE
  87. 870  OPEN RK$+".POR" FOR INPUT AS # 1
  88. 880  FOR A = 1 TO NU
  89. 890  INPUT #1,TIK$(A),NAM$( A),BUY(A),CURPR(A),SALESH(A),EPS(A),NUMSH(A),BVSH(A),O1(A)
  90. 900  INPUT #1,O2(A),O3(A),O4(A),W1(A),W2(A),W3(A),W4(A),W5(A),W6(A),W7(A),W8(A),W9(A),WA(A),V1(A),V2(A),V3(A),V4(A),CURVOL(A),TIMELY(A),SAFE(A),YEARHI(A),YEARLO(A),DIVSH(A),PEAVG(A)
  91. 910  NEXT A
  92. 920  OPEN RK$+".mkt" FOR INPUT AS #3:FOR I = 1 TO 10:INPUT #3,HISTDAT$(I),DOW(I),VOL(I),UPS(I),DNS(I),HI(I),LO(I),BLK(I):NEXT I:CLOSE
  93. 930  CLOSE: GOTO 610
  94. 940  '====== NEW FIGURES
  95. 950  GOSUB 4240:INPUT "NewData file.  RTN aborts: ";Q$
  96. 960  IF Q$ ="" THEN 1040
  97. 970  ON ERROR GOTO 90
  98. 980  OPEN RK$+".NUM" FOR INPUT AS #2:INPUT #2,NU,DT$:CLOSE
  99. 990  OPEN Q$ FOR INPUT AS # 3
  100. 1000  FOR I=1 TO NU:INPUT #3,TIK$(I),TEMPCURVOL(I),TEMPCURPR(I)
  101. 1010  O1(I)=O2(I):O2(I)=O3(I):O3(I)=O4(I):O4(I)=CURPR(I):V1(I)=V2(I):V2(I)=V3(I):V3(I)=V4(I):V4(I)=CURVOL(I)
  102. 1020  CURPR(I)=TEMPCURPR(I):CURVOL(I)=TEMPCURVOL(I)
  103. 1030  NEXT I
  104. 1040  GOTO 490
  105. 1050  '====== OUTPUT
  106. 1060  IF RK$="" THEN X$="n":GOSUB 4240:GOTO 1110
  107. 1070  GOSUB 4240:PRINT "Save as ";RK$;" (Y/N): "
  108. 1080   X$=INKEY$:IF X$="" THEN 1080
  109. 1090  DT$=DATE$+" "+TIME$
  110. 1100  IF X$ = "y" OR  X$ ="Y" THEN 1140
  111. 1110  LOCATE 25,1:INPUT "Enter new name.  RTN aborts: ",RN$
  112. 1120  IF RN$="" THEN 1210
  113. 1130  RK$=RN$
  114. 1140  OPEN RK$+".POR" FOR OUTPUT AS # 1
  115. 1150  FOR A = 1 TO NU
  116. 1160  WRITE #1,TIK$(A),NAM$( A),BUY(A),CURPR(A),SALESH(A),EPS(A),NUMSH(A),BVSH(A),O1(A)
  117. 1170  WRITE #1,O2(A),O3(A),O4(A),W1(A),W2(A),W3(A),W4(A),W5(A),W6(A),W7(A),W8(A),W9(A),WA(A),V1(A),V2(A),V3(A),V4(A),CURVOL(A),TIMELY(A),SAFE(A),YEARHI(A),YEARLO(A),DIVSH(A),PEAVG(A)
  118. 1180  NEXT A
  119. 1190  OPEN RK$+".NUM" FOR OUTPUT AS #2:WRITE #2,NU,DT$:CLOSE
  120. 1200  OPEN RK$+".MKT" FOR OUTPUT AS #3:FOR I = 1 TO 10:WRITE #3,HISTDAT$(I),DOW(I),VOL(I),UPS(I),DNS(I),HI(I),LO(I),BLK(I):NEXT I:CLOSE
  121. 1210  RETURN
  122. 1220  '====== SAVE WEEK PRICE
  123. 1230  FOR I = 1 TO NU:W1(I)=W2(I):W2(I)=W3(I):W3(I)=W4(I):W4(I)=W5(I):W5(I)=W6(I):W6(I)=W7(I):W7(I)=W8(I):W8(I)=W9(I):W9(I)=WA(I):WA(I)=CURPR(I):NEXT I
  124. 1240  LOCATE 25,68:COLOR 14,0:PRINT "Set. [RTN]"
  125. 1250  COLOR 7,0
  126. 1260  GOTO 610
  127. 1270  '====== 1 STOCK, 1 PAGE DISPLAY
  128. 1280  FOR I = 1 TO NU
  129. 1290  CLS:LOCATE 25,1
  130. 1300  PRINT "Number Last Next Tickers Quit   ";I;"OF";NU;"Stocks."
  131. 1310  LOCATE 1,1:PRINT NAM$(I)
  132. 1320  LOCATE 1,25:PRINT TIK$(I)
  133. 1330  LOCATE 1,32:PRINT NUMSH(I);"@";:PRINT USING "###.##";BUY(I)
  134. 1340  LOCATE 1,50:PRINT USING "Cost:      #####.##";BUY(I)*NUMSH(I)
  135. 1350  IF MOVAVG(I) < CURPR(I) THEN COLOR 0,4:LOCATE 1,25:PRINT TIK$(I);"=":COLOR 7,0
  136. 1360  PRINT
  137. 1370  PRINT USING "Current:  #####.##";CURPR(I)
  138. 1380  'LOCATE 4,1:PRINT USING "Change:   #####.##";CURPR(I)-BUY(I)
  139. 1390  LOCATE 3,50:PRINT USING "Value:     #####.##";CURPR(I)*NUMSH(I)
  140. 1400  LOCATE 4,50:PRINT USING "Chg:       #####.##";(CURPR(I)*NUMSH(I))-(BUY(I)*NUMSH(I))
  141. 1410  LOCATE 5,50:PRINT USING "Pct chg:   #####.##";((CURPR(I)/BUY(I))*100)-100;:PRINT"%"
  142. 1420  LOCATE 21,1:PRINT "Last four prices:";:PRINT USING " ###.##";O1(I);O2(I);O3(I);O4(I)
  143. 1430  LOCATE 22,1:PRINT "Last four volume:";:PRINT USING "#####00";V1(I);V2(I);V3(I);V4(I)
  144. 1440  LOCATE 23,1:COLOR 7,2:PRINT " Latest ten wks: ";:PRINT USING " ##.##";W1(I);W2(I);W3(I);W4(I);W5(I);W6(I);W7(I);W8(I);W9(I);WA(I);:PRINT" ":COLOR 7,0
  145. 1450  LOCATE 6,50:PRINT USING "Buy Com:    ####.##";28 + ((NUMSH(I)*BUY(I))*(0.8/100))
  146. 1460  LOCATE 7,50:PRINT USING "Sell Com:   ####.##";28 + ((NUMSH(I)*CURPR(I))*(0.8/100))
  147. 1470  LOCATE 8,50:COLOR 0,4:PRINT USING "NET CHG:   #####.##";((CURPR(I)*NUMSH(I))-56 - ((NUMSH(I)*CURPR(I))*(0.8/100))-((NUMSH(I)*BUY(I))*(0.8/100)))-(BUY(I)*NUMSH(I)):COLOR 7,0
  148. 1480  LOCATE 4,1
  149. 1490  PRINT USING "Chg today:   ##.##";CURPR(I)-O4(I)
  150. 1500  IF CURVOL(I) > V4(I) THEN COLOR 0,4
  151. 1510  LOCATE 5,1:PRINT USING "Vol today: #####00";CURVOL(I):COLOR 7,0
  152. 1520  LOCATE 6,1: PRINT USING "Wk chg:     ###.##";CURPR(I)-W9(I)
  153. 1530  LOCATE 7,1: PRINT USING "Pct wk chg: ###.##";((CURPR(I)/W9(I))*100)-100;:PRINT"%"
  154. 1540  LOCATE 10,1
  155. 1550  PRINT USING "PSR:         ##.##";CURPR(I)/SALESH(I)
  156. 1560  PRINT USING "PE:          ##.##";CURPR(I)/EPS(I)
  157. 1570  PRINT USING "P/BV:        ##.##";CURPR(I)/BVSH(I)
  158. 1580  PRINT USING "EPS          ##.##";EPS(I)
  159. 1590  IF DIVSH(I) < 0.01 THEN PRINT "Div/share:     NIL":GOTO 1610
  160. 1600  PRINT USING "Div/share:   ##.##";DIVSH(I)
  161. 1610  PRINT USING "Earn Yield:  ##.##%";(EPS(I)/CURPR(I))*100
  162. 1620  IF DIVSH(I) < 0.01 THEN PRINT "Div Yield:     NIL":GOTO 1640
  163. 1630  PRINT USING "Div Yield:   ##.##%";(DIVSH(I)/CURPR(I))*100
  164. 1640  LOCATE 10,25: PRINT USING "Sales/share: ###.##";SALESH(I)
  165. 1650  LOCATE ,25:PRINT USING "Book Val/sh:  ##.##";BVSH(I)
  166. 1660  LOCATE ,25:PRINT       "Timeliness:   ";TIMELY(I)
  167. 1670  LOCATE ,25:PRINT       "Safety:       ";SAFE(I)
  168. 1680  LOCATE ,25:PRINT USING "Year High:    ##.##";YEARHI(I)
  169. 1690  LOCATE ,25:PRINT USING "Year Low:     ##.##";YEARLO(I)
  170. 1700  MOVAVG(I) =  (W1(I)+W2(I)+W3(I)+W4(I)+W5(I)+W6(I)+W7(I)+W8(I)+W9(I)+WA(I))/10
  171. 1710  LOCATE ,25:PRINT USING "10 Wk Avg:    ##.##";MOVAVG(I)
  172. 1720  RO = 11.5/10: '======11.5=BzWk ROE 1200 co.|10=VLine PE 8/18/84 =======
  173. 1730  LOCATE 10,50: PRINT USING "ROE:         ###.##";(EPS(I)/BVSH(I))*100
  174. 1740  IF ((EPS(I)/BVSH(I))*100)/(CURPR(I)/EPS(I)) =< (RO * 0.75) THEN COLOR 3,0
  175. 1750  IF ((EPS(I)/BVSH(I))*100)/(CURPR(I)/EPS(I)) => (RO * 1.5) THEN COLOR 0,5
  176. 1760  LOCATE   ,50: PRINT USING "ROE/PE:      ###.##";((EPS(I)/BVSH(I))*100)/(CURPR(I)/EPS(I)):COLOR 7,0
  177. 1770  LOCATE   ,50: PRINT USING "MKT ROE/PE:  ###.##";RO
  178. 1780  PBV=((DIVSH(I)/CURPR(I))*100)+(((EPS(I)-DIVSH(I))/BVSH(I))*100)/(CURPR(I)/EPS(I)):IF PBV => 2 THEN COLOR 0,5
  179. 1790  IF PBV <  2 THEN COLOR 3,0
  180. 1800  LOCATE   ,50: PRINT USING "Buy Value:   ###.##";PBV:COLOR 7,0
  181. 1810  LOCATE   ,50: PRINT USING "5Yr Avg PE:  ###.##";PEAVG(I)
  182. 1820  XB = PEAVG(I)/10.12 : XZ = (CURPR(I)/EPS(I))/9.8:REM 10.12=5 YR DJ PE  9.8 = DJ PE 4/5/84
  183. 1830  IF XB =< 0 THEN LOCATE ,50:PRINT "Chg Rel PE:     NIL":GOTO 1870
  184. 1840  RELPE = ((XZ/XB)*100)-100:IF RELPE < 0 THEN COLOR 0,5
  185. 1850  IF RELPE => 0 THEN COLOR 3,0
  186. 1860  LOCATE   ,50: PRINT USING "Chg Rel PE:  ###.##";RELPE;:COLOR 7,0:PRINT"%"
  187. 1870  LOCATE   ,50: PRINT USING "5Yr PE/DJ PE:###.##";XB
  188. 1880  LOCATE   ,50: PRINT USING "Cur PE/DJ PE:###.##";XZ
  189. 1890  COLOR 0,3:LOCATE  3,25: PRINT USING "BUY BELOW:   ###.##";EPS(I)*((EPS(I)/BVSH(I))*100)/(RO * 1.1):COLOR 7,0
  190. 1900  PRINT:PRINT
  191. 1910  X$=INKEY$:IF X$="" THEN 1910
  192. 1920  IF X$ <> "t" AND X$ <> "T" THEN 2010
  193. 1930  IF X$ = "t" OR X$ = "T" THEN LOCATE 25,1:PRINT "Last Next Select Quit         ":FOR S = 1 TO NU:LOCATE 25,53:COLOR 0,5:PRINT USING " ## ";S;:PRINT USING "\    \";TIK$(S):COLOR 7,0
  194. 1940  TK$=INKEY$:IF TK$="" THEN 1940
  195. 1950  IF TK$ = "s" OR Q$="S" THEN I=S-1:GOTO 2080
  196. 1960  IF TK$ = "q" OR Q$="Q" THEN LOCATE 25,1:PRINT"Number Last Next Tickers Quit":GOTO 1910
  197. 1970  IF TK$ <> "l" AND S = NU THEN S = 0:GOTO 2000
  198. 1980  IF TK$ = "l" AND S = 1 THEN S = NU - 1:GOTO 2000
  199. 1990  IF TK$ = "l" THEN S = S - 2
  200. 2000  NEXT S
  201. 2010  IF X$ = "q" OR X$ = "Q" THEN 2120
  202. 2020  IF X$ = "l" AND I = 1 THEN I = NU - 1:GOTO 2080
  203. 2030  IF Q$ = "+" AND I = NU THEN I = 0:GOTO 3070
  204. 2040  IF X$ = "l" THEN I = I-2:GOTO 2080
  205. 2050  IF X$ = "a" OR X$ = "A" THEN GOSUB 3500:GOTO 1910
  206. 2060  IF VAL(X$) > 0 AND VAL(X$) <=9 THEN Y$=INKEY$:GOTO 2090
  207. 2070  IF I= NU THEN I = 0
  208. 2080  NEXT I
  209. 2090  IF Y$="" THEN 2060
  210. 2100  I = VAL(X$+Y$)-1:IF I+1 > NU THEN 1910
  211. 2110  GOTO 2080
  212. 2120  GOTO 490
  213. 2130  '====== SELECTIONS
  214. 2140  GOSUB 4240
  215. 2150  PRINT "Last Next Select Display Print   Of";NU;"Stocks."
  216. 2160  M=0
  217. 2170  FOR I = 1 TO NU:LOCATE 25,55:COLOR 0,5:PRINT USING " ## ";I;:PRINT USING "\   \";TIK$(I):COLOR 7,0
  218. 2180  Q$=INKEY$:IF Q$="" THEN 2180
  219. 2190  IF Q$ = "d" OR Q$="D" THEN 490
  220. 2200  IF Q$ = "P" OR Q$="p" THEN 4460
  221. 2210  IF Q$ = "s" OR Q$="S" THEN M=M+1:COUNT1(M)=I:LOCATE 2+M,1:COLOR 0,2:PRINT USING "\   \";TIK$(I):COLOR 7,0:IF M = 14 THEN LOCATE 25,65:PRINT"Display Print": GOTO 2180
  222. 2220  IF Q$ <> "l" AND I = NU THEN I = 0:GOTO 2250
  223. 2230  IF Q$ = "l" AND I = 1 THEN I = NU - 1:GOTO 2250
  224. 2240  IF Q$ = "l" THEN I = I - 2
  225. 2250  NEXT I
  226. 2260  GOTO 490
  227. 2270  '====== BPORT DISPLAY
  228. 2280  CLS:LOCATE 1,1:PRINT "Tick  T  Buy   Cur   Chg    V00 PSR  PE P/BV EYld DYld %Ch Com  Brk=        Net "
  229. 2290    '
  230. 2300  LOCATE 25,45:PRINT "Portfolio: ";LEFT$(RK$,5)+" "+DT$
  231. 2310  FOR K = 1 TO NU:PO = K+2:TA=0:TB=0
  232. 2320  IF K > 20 AND K <= 40 THEN PO = K - 18
  233. 2330  IF K >= 41 AND K < 60 THEN PO = K - 38
  234. 2340  MOVAVG(K) =  (W1(K)+W2(K)+W3(K)+W4(K)+W5(K)+W6(K)+W7(K)+W8(K)+W9(K)+WA(K))/10
  235. 2350  LOCATE PO,1:PRINT TIK$(K)
  236. 2360  IF MOVAVG(K) < CURPR(K) THEN COLOR 0,5
  237. 2370  LOCATE PO,7 :PRINT USING "#";TIMELY(K):COLOR 7,0
  238. 2380  LOCATE PO,9:PRINT USING "##.##";BUY(K)
  239. 2390  IF CURPR(K) > O4(K) THEN COLOR 14,0
  240. 2400  IF CURPR(K) < O4(K) THEN COLOR 3,0
  241. 2410  IF CURPR(K) > (O4(K)*1.04) THEN COLOR 0,5
  242. 2420  IF CURPR(K) < (O4(K)*0.96) THEN COLOR 0,1
  243. 2430  LOCATE PO,15:PRINT USING "##.##";CURPR(K)
  244. 2440  LOCATE PO,21:PRINT USING "##.##";CURPR(K)-O4(K):COLOR 7,0
  245. 2450  VOLAVG(K)=(V1(K)+V2(K)+V3(K)+V4(K)+CURVOL(K))/5
  246. 2460  IF CURVOL(K) > VOLAVG(K) THEN COLOR 14,0
  247. 2470  IF CURVOL(K) > VOLAVG(K)*1.75 THEN COLOR 0,5
  248. 2480  IF CURVOL(K) < VOLAVG(K) THEN COLOR 3,0
  249. 2490  IF CURVOL(K) < VOLAVG(K) *0.5 THEN COLOR 0,1
  250. 2500  LOCATE PO,27:PRINT USING "#####";CURVOL(K):COLOR 7,0
  251. 2510  IF CURPR(K)/SALESH(K) < 1 THEN COLOR 0,5
  252. 2520  IF CURPR(K)/SALESH(K) > 1 THEN COLOR 3,0
  253. 2530  LOCATE PO,33:PRINT USING "#.##";CURPR(K)/SALESH(K):COLOR 7,0
  254. 2540  PERATIO(K)=CURPR(K)/EPS(K):IF PERATIO(K) > 99 THEN PERATIO(K)=99
  255. 2550  LOCATE PO,37:PRINT USING " ##";PERATIO(K)
  256. 2560  IF CURPR(K)/BVSH(K) < 1 THEN COLOR 0,5
  257. 2570  IF CURPR(K)/BVSH(K) > 1 THEN COLOR 3,0
  258. 2580  LOCATE PO,41:PRINT USING "##.#";CURPR(K)/BVSH(K):COLOR 7,0
  259. 2590  LOCATE PO,45:PRINT USING " ##.#";(EPS(K)/CURPR(K))*100
  260. 2600  BUYCOM(K) = 28 +  ((NUMSH(K)*BUY(K))*(0.8/100))
  261. 2610  SELCOM(K) = 28 +  ((NUMSH(K)*CURPR(K))*(0.8/100))
  262. 2620  TOTCOM(K)=BUYCOM(K)+SELCOM(K)
  263. 2630  BRKEVEN(K)=CURPR(K)+(TOTCOM(K)/NUMSH(K))
  264. 2640  IF DIVSH(K) <= 0.01 THEN LOCATE PO,50:PRINT "  NIL":GOTO 2660
  265. 2650  LOCATE PO,50 :PRINT USING " ##.#";(DIVSH(K)/CURPR(K))*100
  266. 2660  PCTCHG(K)=INT((CURPR(K)/BUY(K))*100)-100
  267. 2670  IF PCTCHG(K) <= -15 THEN COLOR 0,2
  268. 2680  IF PCTCHG(K) >=  15 THEN COLOR 0,5
  269. 2690  LOCATE PO,56:PRINT USING "###";PCTCHG(K):COLOR 7,0
  270. 2700  LOCATE PO,59:PRINT USING " ###";TOTCOM(K)
  271. 2710  LOCATE PO,63 :PRINT USING " ##.##";BRKEVEN(K)
  272. 2720  IF CURPR(K) > BUY(K)+(TOTCOM(K)/NUMSH(K))  THEN COLOR 14,0
  273. 2730  IF CURPR(K) >(BUY(K)+(TOTCOM(K)/NUMSH(K)))*1.15 THEN COLOR 0,5
  274. 2740  IF CURPR(K) < (BUY(K)+(TOTCOM(K)/NUMSH(K)))  THEN COLOR 3,0
  275. 2750  IF CURPR(K) < (BUY(K)+(TOTCOM(K)/NUMSH(K)))*0.85 THEN COLOR 0,2
  276. 2760  LOCATE PO,76:PRINT USING "#####";(CURPR(K)*NUMSH(K))-(BUY(K)*NUMSH(K))-TOTCOM(K):COLOR 7,0
  277. 2770  TA = CURPR(K)*NUMSH(K):TT = TA + TT: TB = BUY(K)*NUMSH(K):TC = TB + TC:TA=0:TB=0:MC=MC+ TOTCOM(K)
  278. 2780  IF M <> 0 THEN RETURN
  279. 2790  IF K = 20 THEN GOSUB 2840
  280. 2800  IF K = 40 THEN GOSUB 2840
  281. 2810  NEXT K
  282. 2820  TT=0:TC=0:MC=0
  283. 2830  GOTO 610
  284. 2840  TT=0:TC=0:MC=0
  285. 2850  LOCATE 25,1:PRINT"Rtn/Q:  ";:COLOR 14,0:PRINT "Up ":LOCATE 25,12:COLOR 0,5:PRINT"4%P":LOCATE 25,16:PRINT"75%V":LOCATE 25,21:PRINT"15%N";:COLOR 3,0:PRINT" Down ";:COLOR 0,1:PRINT"4%P":LOCATE 25,35:COLOR 0,1:PRINT"50%V":LOCATE 25,40:PRINT"15%N"
  286. 2860  COLOR 7,0
  287. 2870  Q$=INKEY$:IF Q$="" THEN 2870
  288. 2880  IF Q$ = "q" OR Q$ = "Q" THEN 610
  289. 2890  CLS:LOCATE 1,1:PRINT "Tick  T  Buy   Cur   Chg    V00 PSR  PE P/BV EYld DYld %Ch Com  Brk=        Net "
  290. 2900   '
  291. 2910   LOCATE 25,45:PRINT "Portfolio: ";LEFT$(RK$,5)+" "+DT$
  292. 2920  RETURN
  293. 2930  '====== CHANGE FUNDAMENTALS
  294. 2940  'CLS:LOCATE 25,1
  295. 2950  '
  296. 2960  '
  297. 2970  '
  298. 2980  GOSUB 4240:PRINT "Last Next Select Add Quit   At stock, RTN=No Chg. ";NU;" Stocks.   "
  299. 2990  FOR I = 1 TO NU:LOCATE 25,67:COLOR 0,5:PRINT USING " ## ";I;:PRINT USING "\    \";TIK$(I):COLOR 7,0
  300. 3000  Q$=INKEY$:IF Q$="" THEN 3000
  301. 3010  IF Q$ = "q" OR Q$="Q" THEN 490
  302. 3020  IF Q$ = "s" OR Q$="S" THEN 3080
  303. 3030  IF Q$ = "a" OR Q$="A" THEN I=NU+1:NU=NU+1:GOTO 3250
  304. 3040  IF Q$ <> "l"  AND I = NU THEN I = 0:GOTO 3070
  305. 3050  IF Q$ = "l"  AND I = 1 THEN I = NU - 1:GOTO 3070
  306. 3060  IF Q$ = "l" THEN I = I - 2
  307. 3070  NEXT I
  308. 3080  IF I = 0 THEN 3410
  309. 3090  IF I > NU THEN 2990
  310. 3100  CLS:LOCATE 1,1
  311. 3110  PRINT"Ticker:      ";TIK$(I)
  312. 3120  PRINT"Ex & Name:   ";NAM$(I)
  313. 3130  PRINT"Buy Price:   ";BUY(I)
  314. 3140  PRINT"Cur Price:   ";CURPR(I)
  315. 3150  PRINT"Num shares:  ";NUMSH(I)
  316. 3160  PRINT"5 Yr Avg PE: ";PEAVG(I)
  317. 3170  PRINT"Sales/share: ";SALESH(I)
  318. 3180  PRINT"Earn/share:  ";EPS(I)
  319. 3190  PRINT"Book Val/sh: ";BVSH(I)
  320. 3200  PRINT"Dividend/Sh: ";DIVSH(I)
  321. 3210  PRINT"Timeliness:  ";TIMELY(I)
  322. 3220  PRINT"Safety:      ";SAFE(I)
  323. 3230  PRINT"Year High:   ";YEARHI(I)
  324. 3240  PRINT"Year Low:    ";YEARLO(I)
  325. 3250  LOCATE 1,40:INPUT "Ticker: ",N1$:IF N1$ <> "" THEN TIK$(I)=N1$
  326. 3260  LOCATE ,40:INPUT "Ex/Name:",N2$:IF N2$ <> "" THEN NAM$(I)=N2$
  327. 3270  LOCATE ,40:INPUT "Buy Pr :",N1: IF N1 <> 0 THEN BUY(I) = N1
  328. 3280  LOCATE ,40:INPUT "Cur Pr :",LN: IF LN <> 0 THEN CURPR(I) = LN
  329. 3290  LOCATE ,40:INPUT "Num Sh :",N0: IF N0 <> 0 THEN NUMSH(I) = N0
  330. 3300  LOCATE ,40:INPUT "5 Yr PE:",OP: IF OP <> 0 THEN PEAVG(I) = OP
  331. 3310  LOCATE ,40:INPUT "Sale/Sh:",N2: IF N2 <> 0 THEN SALESH(I) = N2
  332. 3320  LOCATE ,40:INPUT "Earn/Sh:",N3: IF N3 <> 0 THEN EPS(I) = N3
  333. 3330  LOCATE ,40:INPUT "BV/Sh:  ",N4: IF N4 <> 0 THEN BVSH(I) = N4
  334. 3340  LOCATE ,40:INPUT "Div/Sh: ",N9: IF N9 <> 0 THEN DIVSH(I) = N9
  335. 3350  LOCATE ,40:INPUT "Timely: ",N5: IF N5 <> 0 THEN TIMELY(I) = N5
  336. 3360  LOCATE ,40:INPUT "Safety: ",N6: IF N6 <> 0 THEN SAFE(I) = N6
  337. 3370  LOCATE ,40:INPUT "Year Hi:",N7: IF N7 <> 0 THEN YEARHI(I) = N7
  338. 3380  LOCATE ,40:INPUT "Year Lo:",N8:IF N8 <> 0 THEN YEARLO(I) = N8
  339. 3390  LOCATE ,40:INPUT "10 wks Y/N:",Q$:IF Q$ = "y" OR Q$ = "Y" THEN 3420
  340. 3400  GOTO 2980
  341. 3410  RETURN
  342. 3420  FOR WW = 1 TO 10: LOCATE 23,28:PRINT"      ":LOCATE 23,1:INPUT "Weekly close, recent last: ",M0(WW):NEXT WW
  343. 3430  W1(I)=M0(1):W2(I)=M0(2):W3(I)=M0(3):W4(I)=M0(4):W5(I)=M0(5):W6(I)=M0(6):W7(I)=M0(7):W8(I)=M0(8):W9(I)=M0(9):WA(I)=M0(10)
  344. 3440  LOCATE 23,1:PRINT SPACE$(40)
  345. 3450  GOTO 2980
  346. 3460  '====== RESET FUNCTION KEYS
  347. 3470  KEY 1,"LIST "+CHR$(13):KEY 5,"EDIT ":KEY 6,"CLS"+CHR$(13):KEY 7,"List "
  348. 3480  KEY 2,"RUN"+CHR$(13):KEY 3,"LOAD "+CHR$(34):KEY 4,"SAVE "+CHR$(34):KEY 8,"list 480 - "+CHR$(13): KEY 9,"list 2140 -"+CHR$(13):KEY 10,"list 4420 -"+CHR$(13)
  349. 3490  RETURN
  350. 3500  '
  351. 3510  '===== PRINT PORTFOLIO
  352. 3520  LPRINT "Portfolio, date: ";RK$;" ";DT$;"    Printout date: ";DATE$:LPRINT
  353. 3530  LPRINT "Tick  T  Buy   Cur   Chg    V00 10Wk SIG1 SIG2 PSR  PE B/BV %Ch 2Cm BrkEv Net  "
  354. 3540  LPRINT "-----|-|-----|-----|-----|-----|----|----|----|----|--|----|---|---|-----|-----"
  355. 3550  FOR K = 1 TO NU:PO = K+2:TA=0:TB=0
  356. 3560  MOVAVG(K) =  (W1(K)+W2(K)+W3(K)+W4(K)+W5(K)+W6(K)+W7(K)+W8(K)+W9(K)+WA(K))/10
  357. 3570  LPRINT TIK$(K) TAB(6);
  358. 3580  IF MOVAVG(K) < CURPR(K) THEN LPRINT"a";
  359. 3590  IF MOVAVG(K) >= CURPR(K) THEN LPRINT"b";
  360. 3600  LPRINT USING "#";TIMELY(K);
  361. 3610  LPRINT USING " ##.##";BUY(K);
  362. 3620  LPRINT USING " ##.##";CURPR(K);
  363. 3630  IF CURPR(K) >= (O4(K)*1.04) THEN LPRINT "DEFDBL";
  364. 3640  IF CURPR(K) <= (O4(K)*0.96) THEN LPRINT "SWAP";
  365. 3650  IF CURPR(K) > (O4(K)*0.96) AND CURPR(K) < (O4(K)*1.04) THEN LPRINT " ";
  366. 3660  LPRINT USING "##.##";CURPR(K)-O4(K);
  367. 3670  VOLAVG(K)=(V1(K)+V2(K)+V3(K)+V4(K)+CURVOL(K))/5
  368. 3680  LPRINT USING "######";CURVOL(K);
  369. 3690  IF CURVOL(K) >= VOLAVG(K)*1.75 THEN LPRINT "DEFDBL";:GOTO 3720
  370. 3700  IF CURVOL(K) <= VOLAVG(K) *0.5 THEN LPRINT "SWAP";:GOTO 3720
  371. 3710  IF CURVOL(K) > VOLAVG(K) *0.5 AND CURVOL(K) < VOLAVG(K)*1.75 THEN LPRINT " ";
  372. 3720  LPRINT USING "##.#";MOVAVG(K);
  373. 3730  PBV=((DIVSH(K)/CURPR(K))*100)+(((EPS(K)-DIVSH(K))/BVSH(K))*100)/(CURPR(K)/EPS(K)):IF PBV => 2 THEN LPRINT " BUY ";:GOTO 3742
  374. 3740  IF PBV <  2 THEN LPRINT " SELL";:GOTO 3742
  375. 3742  RO = 11.5/10: '======11.5=BzWk ROE 1200 co.|10=VLine PE 8/18/84 =======
  376. 3744  IF ((EPS(K)/BVSH(K))*100)/(CURPR(K)/EPS(K)) =< (RO * 0.75) THEN LPRINT " SELL";:GOTO 3750
  377. 3746  IF ((EPS(K)/BVSH(K))*100)/(CURPR(K)/EPS(K)) => (RO * 1.75) THEN LPRINT " BUY ";:GOTO 3750
  378. 3748  LPRINT " WAIT";
  379. 3750  LPRINT USING " #.##";CURPR(K)/SALESH(K);
  380. 3760  IF CURPR(K)/EPS(K) > 99 THEN LPRINT " 99";:GOTO 3780
  381. 3770  LPRINT USING " ##";CURPR(K)/EPS(K);
  382. 3780  LPRINT USING "  #.#";CURPR(K)/BVSH(K);
  383. 3790  BUYCOM(K) = 28 +  ((NUMSH(K)*BUY(K))*(0.8/100))
  384. 3800  SELCOM(K) = 28 +  ((NUMSH(K)*CURPR(K))*(0.8/100))
  385. 3810  TOTCOM(K)=BUYCOM(K)+SELCOM(K)
  386. 3820  BRKEVEN(K)=BUY(K)+(TOTCOM(K)/NUMSH(K))
  387. 3830  LPRINT USING " ###";INT((CURPR(K)/BUY(K))*100)-100;
  388. 3840  LPRINT USING " ###";TOTCOM(K);
  389. 3850  LPRINT USING " ##.##";BRKEVEN(K);
  390. 3860  LPRINT USING "#####";(CURPR(K)*NUMSH(K))-(BUY(K)*NUMSH(K))-TOTCOM(K);
  391. 3870  IF CURPR(K) <= (BUY(K)+(TOTCOM(K)/NUMSH(K)))*0.85 THEN LPRINT "SWAP";:GOTO 3900
  392. 3880  IF CURPR(K) >= (BUY(K)+(TOTCOM(K)/NUMSH(K)))*1.15 THEN LPRINT "DEFDBL";:GOTO 3900
  393. 3900  LPRINT " "
  394. 3940  NEXT K: RETURN
  395. 3950  TA = CURPR(K)*NUMSH(K):TT = TA + TT: TB = BUY(K)*NUMSH(K):TC = TB + TC:TA=0:TB=0:MC=MC+ TOTCOM(K)
  396. 3960  IF M <> 0 THEN RETURN
  397. 3970  IF K = 20 THEN GOSUB 4020
  398. 3980  IF K = 40 THEN GOSUB 4020
  399. 3990  NEXT K
  400. 4000  TT=0:TC=0:MC=0
  401. 4010  GOTO 610
  402. 4020  TT=0:TC=0:MC=0
  403. 4030  LOCATE 25,1:PRINT "RTN or Quit: ":Q$=INKEY$:IF Q$="" THEN 4030
  404. 4040  IF Q$ = "q" OR Q$ = "Q" THEN 610
  405. 4050  CLS:LOCATE 1,1:PRINT "Tick  T  Buy   Cur   Chg    V00 PSR  PE B/BV EYld DYld %Ch Com  Brk=        Net "
  406. 4060                 PRINT "-----|-|-----|-----|-----|-----|----|--|----|----|----|---|---|-----------|-----":LOCATE 25,38:PRINT "Portfolio: ";RK$;"   ";DT$
  407. 4070  RETURN
  408. 4080  '====== MARKET AVERAGES
  409. 4090  GOSUB 4240:LOCATE 25,1:PRINT "NewData View Quit"
  410. 4100  Q$=INKEY$:IF Q$="" THEN 4100
  411. 4110  IF Q$ =  "q" OR Q$ = "Q" THEN RETURN
  412. 4120  IF Q$ <> "n" AND Q$ <> "N" THEN 4250
  413. 4130  GOSUB 4360
  414. 4140  GOSUB 4240
  415. 4150  LOCATE 25,1:INPUT "Date (MTH00): ",HISTDAT$(10):GOSUB 4240
  416. 4160  LOCATE 25,1:INPUT "Dow close:  ",DOW(10):GOSUB 4240
  417. 4170  LOCATE 25,1:INPUT "NYSE vol (mils):   ",VOL(10):GOSUB 4240
  418. 4180  LOCATE 25,1:INPUT "Advances:   ",UPS(10):GOSUB 4240
  419. 4190  LOCATE 25,1:INPUT "Declines:   ",DNS(10):GOSUB 4240
  420. 4200  LOCATE 25,1:INPUT "New highs:  ",HI(10):GOSUB 4240
  421. 4210  LOCATE 25,1:INPUT "New lows:   ",LO(10):GOSUB 4240
  422. 4220  LOCATE 25,1:INPUT "Blocks:     ",BLK(10):GOSUB 4240
  423. 4230  GOTO 4250:'RETURN
  424. 4240  LOCATE 25,1:PRINT SPACE$(80):LOCATE 25,1:RETURN
  425. 4250  '====== MARKET PAGE
  426. 4260  CLS:PRINT:PRINT "DATE:    ";:FOR I = 1 TO 10: PRINT "  ";HISTDAT$(I);:NEXT I:PRINT
  427. 4270  PRINT: PRINT"CLOSE:   ";:FOR I = 1 TO 10: PRINT USING " ####.#";DOW(I);:NEXT I
  428. 4280  PRINT:PRINT"VOLUME:  ";:FOR I = 1 TO 10: PRINT USING " ######";VOL(I);:NEXT I
  429. 4290  PRINT:PRINT"ADVANCES:";:FOR I = 1 TO 10: PRINT USING " ######";UPS(I);:NEXT I
  430. 4300  PRINT:PRINT"DECLINES:";:FOR I = 1 TO 10: PRINT USING " ######";DNS(I);:NEXT I
  431. 4310  PRINT:PRINT"NEW HIGH:";:FOR I = 1 TO 10: PRINT USING " ######";HI(I);:NEXT I
  432. 4320  PRINT:PRINT"NEW LOW: ";:FOR I = 1 TO 10: PRINT USING " ######";LO(I);:NEXT I
  433. 4330  PRINT:PRINT"BLOCKS:  ";:FOR I = 1 TO 10: PRINT USING " ######";BLK(I);:NEXT I
  434. 4340  RETURN
  435. 4350  END
  436. 4360  FOR I = 1 TO 9:HISTDAT$(I)=HISTDAT$(I+1):NEXT I
  437. 4370  FOR I = 1 TO 9:DOW(I)=DOW(I+1):NEXT I
  438. 4380  FOR I = 1 TO 9:VOL(I)=VOL(I+1):NEXT I
  439. 4390  FOR I = 1 TO 9:UPS(I)=UPS(I+1):NEXT I
  440. 4400  FOR I = 1 TO 9:DNS(I)=DNS(I+1):NEXT I
  441. 4410  FOR I = 1 TO 9:HI(I)=HI(I+1):NEXT I
  442. 4420  FOR I = 1 TO 9:LO(I)=LO(I+1):NEXT I
  443. 4430  FOR I = 1 TO 9:BLK(I)=BLK(I+1):NEXT I
  444. 4440  RETURN
  445. 4450  '====== PRINT INDIVIDUAL PAGES
  446. 4460  CLS: FOR A = 1 TO M: I = COUNT1(A):PRINT NAM$(I):NEXT A:LOCATE 25,1:PRINT"Reports going to printer."
  447. 4470  FOR A = 1 TO M:I = COUNT1(A)
  448. 4480  LPRINT NAM$(I);"  ";
  449. 4490  LPRINT TIK$(I);"  ";
  450. 4500  LPRINT NUMSH(I);"@";:LPRINT USING "###.##";BUY(I);:LPRINT"  ";
  451. 4510  LPRINT USING "Cost:  #####.##";BUY(I)*NUMSH(I)
  452. 4520  'LPRINT
  453. 4530  '====== LINE # 1
  454. 4540  LPRINT USING "CURPRICE: ####.##";CURPR(I);
  455. 4550  LPRINT USING "    DAYCHG:  ##.##";CURPR(I)-O4(I);
  456. 4560  LPRINT USING "    PSR:      #.##";CURPR(I)/SALESH(I);
  457. 4570  LPRINT USING "    SALE/SH:###.##";SALESH(I)
  458. 4580  '====== LINE 2
  459. 4590  LPRINT USING "CHG:      ####.##";CURPR(I)-BUY(I);
  460. 4600  LPRINT USING "    DAYVOL:#####00";CURVOL(I);
  461. 4610  LPRINT USING "    PE:      ##.##";CURPR(I)/EPS(I);
  462. 4620  LPRINT USING "    BV/SH:   ##.##";BVSH(I)
  463. 4630  '====== LINE 3
  464. 4640  LPRINT USING "CURVAL:   ####.##";CURPR(I)*NUMSH(I);
  465. 4650  LPRINT USING "    WKCHG:   ##.##";CURPR(I)-W9(I);
  466. 4660  LPRINT USING "    P/BV:    ##.##";CURPR(I)/BVSH(I);
  467. 4670  LPRINT       "    TIME:    ";TIMELY(I)
  468. 4680  '======= LINE 4
  469. 4690  LPRINT USING "CHGVAL: ######.##";(CURPR(I)*NUMSH(I))-(BUY(I)*NUMSH(I));
  470. 4700  LPRINT USING "    WKPCT: %###.##";((CURPR(I)/W9(I))*100)-100;
  471. 4710  LPRINT USING "    EPS:     ##.##";EPS(I);
  472. 4720  LPRINT       "    SAFE:    ";SAFE(I)
  473. 4730  '======= LINE 5
  474. 4740  LPRINT USING "PCTCHG:   %###.##";((CURPR(I)/BUY(I))*100)-100;
  475. 4750  RO = 11.5/10: '======11.5=BzWk ROE 1200 co.|10=VLine PE 8/19/84
  476. 4760  LPRINT USING "    ROE:    ###.##";(EPS(I)/BVSH(I))*100;
  477. 4770  IF DIVSH(I) < 0.01 THEN LPRINT "    D/SH:      NIL";:GOTO 4790
  478. 4780  LPRINT USING "    D/SH:    ##.##";DIVSH(I);
  479. 4790  LPRINT USING "    HIGH:    ##.##";YEARHI(I)
  480. 4800  '====== LINE 6
  481. 4810  LPRINT USING "BUYCOM:    ###.##";28 + ((NUMSH(I)*BUY(I))*(0.8/100));
  482. 4820  LPRINT USING "    ROE/PE: ###.##";((EPS(I)/BVSH(I))*100)/(CURPR(I)/EPS(I));
  483. 4830  LPRINT USING "    EARNYLD:%##.##";(EPS(I)/CURPR(I))*100;
  484. 4840  LPRINT USING "    LOW:     ##.##";YEARLO(I)
  485. 4850  '====== LINE 7
  486. 4860  LPRINT USING "SELLCOM:   ###.##";28 + ((NUMSH(I)*CURPR(I))*(0.8/100));
  487. 4870  LPRINT USING "    MKROE/PE:##.##";RO;
  488. 4880  IF DIVSH(I) < 0.01 THEN LPRINT "    DIVYLD:    NIL";:GOTO 4900
  489. 4890  LPRINT USING "    DIVYLD: %##.##";(DIVSH(I)/CURPR(I))*100;
  490. 4900  MOVAVG(I) =  (W1(I)+W2(I)+W3(I)+W4(I)+W5(I)+W6(I)+W7(I)+W8(I)+W9(I)+WA(I))/10
  491. 4910  LPRINT USING "    10WKAVG: ##.##";MOVAVG(I)
  492. 4920  '====== LINE 8
  493. 4930  LPRINT USING "NETCHG:  #####.##";((CURPR(I)*NUMSH(I))-56 - ((NUMSH(I)*CURPR(I))*(0.8/100))-((NUMSH(I)*BUY(I))*(0.8/100)))-(BUY(I)*NUMSH(I));
  494. 4940  PBV=((DIVSH(I)/CURPR(I))*100)+(((EPS(I)-DIVSH(I))/BVSH(I))*100)/(CURPR(I)/EPS(I)): 'IF PBV => 2 THEN LPRINT"*";
  495. 4950  LPRINT USING "    BUYVAL: ###.##";PBV;
  496. 4960  LPRINT USING "    5YRPE:  ###.##";PEAVG(I);
  497. 4970  XB = PEAVG(I)/10.12 : XZ = (CURPR(I)/EPS(I))/8.9: '========================10.12=5DJPE|8.9=DJPE 5/24/84====
  498. 4980  IF XB =< 0 THEN  LPRINT "    CHGPE:     NIL":GOTO 5010
  499. 4990  RELPE = ((XZ/XB)*100)-100
  500. 5000  LPRINT USING "    CHGPE: %###.##";RELPE
  501. 5010  LPRINT USING "5YRPE/DJ:  ###.##";XB;
  502. 5020  LPRINT USING "    PE/DJPE:###.##";XZ;
  503. 5030  LPRINT USING "    BUY AT: ###.##";EPS(I)*((EPS(I)/BVSH(I))*100)/(RO * 1.1):LPRINT
  504. 5040  LPRINT "4 PRICES:";:LPRINT USING "  ##.##";O1(I);O2(I);O3(I);O4(I)
  505. 5050  LPRINT "4 VOLUME:";:LPRINT USING "#####00";V1(I);V2(I);V3(I);V4(I)
  506. 5060  LPRINT "10 WEEKS:";:LPRINT USING "  ##.##";W1(I);W2(I);W3(I);W4(I);W5(I);W6(I);W7(I);W8(I);W9(I);WA(I);:LPRINT" ":COLOR 7,0
  507. 5070  LPRINT
  508. 5080  IF A = 4 OR A=8 OR A=12 OR A=16 THEN LPRINT CHR$(12)
  509. 5090  NEXT A
  510. 5100  GOTO 490
  511. 5110  '=============== TO GET NEW STOCKS FROM A FILE
  512. 5120  CLS:IF RK$="" THEN 5150
  513. 5130  TMPRK$=RK$
  514. 5140  PRINT "Extra Stock file is [";RK$;"]";:INPUT "  Is this acceptable (Y/N): ",ACCEPT$:IF ACCEPT$="n"OR ACCEPT$ ="N" THEN 5150 ELSE 5160
  515. 5150  INPUT "New Extra Stock filename: ",TMPRK$
  516. 5160  PRINT"Data must be in this order.  # shares, Timeliness, Safety, B/V,":PRINT"and Sales/Share are adjusted with Chg at 2nd menu.":PRINT:PRINT"TICKER":PRINT"BUY PRICE":PRINT"CURRENT PRICE"
  517. 5170  PRINT"EARNINGS PER SHARE":PRINT"5 YEAR AVG PE (OR CURRENT)":PRINT"DIVIDEND PER SHARE"
  518. 5180  PRINT"YEAR HIGH (OR RECENT)":PRINT"YEAR LOW (OR RECENT)"
  519. 5190  LOCATE 25,1:INPUT "Number/stocks (0 Aborts): ",NUSTK
  520. 5200  IF NUSTK = 0 THEN GOTO 5270
  521. 5210  OPEN TMPRK$+".ADD" FOR INPUT AS #2
  522. 5220  FOR A = NU+1 TO NU +NUSTK
  523. 5230  INPUT #2,TIK$(A),BUY(A),CURPR(A),EPS(A),PEAVG(A),DIVSH(A),YEARHI(A),YEARLO(A)
  524. 5240  NUMSH(A)=100:BVSH(A)=1:SALESH(A)=1:TIMELY(A)=0:SAFE(A)=0
  525. 5250  '
  526. 5260  NEXT A
  527. 5270  CLOSE: NU = NU + NUSTK: GOTO 610
  528. 5280  '
  529.